/**
 * author:shinion
 * date:2019-11-04
 * 功能：
 *      用于查询809状态详细数据，统计指定时间段的各种状态在线时间
 * 
 * 
 */


var pl_jt809View = {};
pl_jt809View.debug = true;
pl_jt809View.basicDataMap = null;


//////////////////////////////////////////////////////////////////////////初始化
//初始化基本数据
pl_jt809View.init = function(){
    let mapStr = window.localStorage.getItem("basicDataMap");
    if(mapStr != ""){
        let map = JSON.parse(mapStr);
        // this.outDebug("map : " , map);
        if(map){
            this.basicDataMap = map;
        }
    }
}


//初始化链路名称
pl_jt809View.initNameDiv = function(divId){
    if(this.basicDataMap != null){
        let list = this.basicDataMap['Jt809LinkName'];
        if(list){
            list.unshift({
                name:'请选择',
                value:''
            });
            $("#"+divId).combobox({
                textField: "name",
                valueField: "value",
                data: list,
                select: list[0].value
            });
        }
    }
}

//初始化链路类型
pl_jt809View.initTypeDiv = function(divId){
    if(this.basicDataMap != null){
        let list = this.basicDataMap['Jt809LinkType'];
        if(list){
            list.unshift({
                name:'请选择',
                value:''
            });
            $("#"+divId).combobox({
                textField: "name",
                valueField: "value",
                data: list,
                select: list[0].value
            });
        }
    }
}

//初始化链路类型
pl_jt809View.initStatusDiv = function(divId){
    if(this.basicDataMap != null){
        let list = this.basicDataMap['Jt809LinkStatus'];
        if(list){
            list.unshift({
                name:'请选择',
                value:''
            });
            $("#"+divId).combobox({
                textField: "name",
                valueField: "value",
                data: list,
                select: list[0].value
            });
        }
    }
}

//////////////////////////////////////////////////////////////////////////功能

//设置为第一页
pl_jt809View.setFirstPage = function(divId){
    var opts = $("#" + divId).datagrid("options");
	var pager = $("#" + divId).datagrid("getPager");
	opts.pageNumber = 1;
	opts.pageSize=$("#" + divId).datagrid("getPager").data("pagination").options.pageSize;
	pager.pagination("refresh", {
		pageNumber: 1,
		pageSize: opts.pageSize
	});
}


//根据名称获取描述
pl_jt809View.getLinkValueStr = function(value,type){
    let str = value;
    let key = '';
    switch (type) {
        case 'name':
            key = 'Jt809LinkName';
            break;
        case 'type':
            key = 'Jt809LinkType';
            break;
        case 'status':
            key = 'Jt809LinkStatus';
            break;
    }
    if(this.basicDataMap != null && key != ''){
        let list = this.basicDataMap[key];
        if(list && list.length > 0){
            for(let i=0 ; i<list.length ; i++){
                if(list[i].value == value){
                    str = list[i].name;
                }
            }
        }
    }
    return str;
}

//获取时长参数
pl_jt809View.getTimeLengthStr = function(value){
    let str = value;
    try {
        let list = [];
        if(value >= 60){
            list.push((value % 60) + '秒');
            let temp = Math.floor(value / 60);
            if(temp >= 60){
                list.push((temp % 60) + '分');
                temp = Math.floor(temp/60);
                if(temp >= 24){
                    list.push((temp % 24) + '小时');
                    temp = Math.floor(temp/24);
                    list.push(temp + '天');
                }else{
                    list.push(temp + '小时');
                }
            }else{
                list.push(temp + '分');
            }
            if(list.length > 0){
                str += ' (';
                for(let i = list.length -1 ; i > -1 ; i--){
                    str += list[i];
                }
                str += ')';
            }
        }
    } catch (error) {
        DataUtil.outError("解析时间数据失败：" + error);
    }
    return str;
}





///////////////////////////////////////////////////////////////////////////公用方法

//输出调试信息
pl_jt809View.outDebug = function (msg, data) {
    if (this.debug == true) {
        DataUtil.outDebug(msg, data);
    }
}